当我使用vim和其他编辑器编辑源文件有时在行的末尾时,我会在每行的末尾得到这些^ M个字符.我认为它与在Windows中编辑文件然后在linux中有关.如何自动删除所有这些?
作为命令,键入
:%s/^M$//
(要获得^ M,请按^ V ^ M,其中^是大多数键盘上的CTRL)
剥离DOS行结尾的一种简单方法是使用以下ff
选项:
:set ff=unix :wq
现在你的文件回到了旧的Unix方式.
如果你想添加 DOS行结尾(为了让打印机满意,或者与没有漂亮工具的Windows朋友一起传输文件),你可以轻松地走向相反的方向:
:set ff=dos :wq
你可以这样做:
:set fileformats=dos
它会隐藏^M
文件,而不会触及文件.
有一个名为dos2unix的程序应该为你删除它们.Windows使用不同的行结束字符,这就是为什么会发生这种情况.
这对我来说是一个文件,其中包含一行:
首先找到所有比赛
:%s/^M//
(要获得^M
,请按^ V ^ M,其中^ Ctrl在大多数键盘上)
然后用换行符替换
:%s//\r/g
合并命令将是:
:%s/^M/\r/g